package com.baosight.risk.api.jlta;

import com.baosight.risk.service.jlta.entity.JltaTeam;
import com.baosight.risk.service.jlta.entity.JltaTeamUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 作者： lishaoqing
 * 时间： 2019年07月03日
 * 描述： JltaTeamService
 * 版本: v1.0
 */
public interface JltaTeamService {

    /**
     * 查询属于我的团队
     *
     * @param owner 当前登录人
     * @return 我的团队
     */
    List<JltaTeam> selectOwnerTeam(String owner);

    /**
     * 查询我加入的团队
     *
     * @param userId 当前登录人
     * @return 加入的团队
     */
    List<JltaTeam> selectJoinTeam(JltaTeam jltaTeam, String userCode);

    /**
     * 新增团队
     *
     * @param jltaTeam 团队信息
     * @return 执行结果
     */
    Integer addTeam(JltaTeam jltaTeam);

    /**
     * 修改团队
     *
     * @param jltaTeam 团队信息
     * @return 执行结果
     */
    Integer editTeam(JltaTeam jltaTeam);

    /**
     * 删除团队
     *
     * @param jltaTeam 团队信息
     * @return 执行结果
     */
    Integer deleteTeam(String id);

    /**
     * 根据团队id查询成员列表
     *
     * @param teamId 团队id
     * @return 成员列表
     */
    List<JltaTeamUser> selectUserList(String teamId);

    /**
     * 新增团队成员
     *
     * @param jltaTeamUser 成员信息
     * @return 执行结果
     */
    Integer addTeamUser(JltaTeamUser jltaTeamUser);

    /**
     * 删除团队成员
     *
     * @param jltaTeamUser 团队成员
     * @return 执行结果
     */
    Integer deleteTeamUser(@Param("jltaTeamUser") JltaTeamUser jltaTeamUser);

    /**
     * 根据名字搜索团队
     *
     * @param teamName
     * @return
     */
    List<JltaTeam> searchTeam(String teamName);

    List<JltaTeamUser> selectTeamUserList(JltaTeamUser jltaTeamUser);

    Integer teamAdmin(String userId);

    JltaTeamUser selectOne(JltaTeamUser jltaTeamUser);

    Integer cancelTeamAdmin(String userId);
}
